5
תגובות

PDOStatement - צריך את זה?

פתח משהה ,
אני עובד עכשיו על קלאס לעבודה עם PDO.תוך כדי נכנסתי לדוקומנטציה והתחלתי להסתכל בקלאס של PDO וכל מה שמסביב, פתאום אני רואה שיש קלאס נפרד מPDO, הקלאס PDOStatement - ויש לו מתודות משלו והכול. הוא ממש מחלקה בפני עצמה. עכשיו חשבתי לעצמי, אם במחלקה הראשית שלי - שיוצרת את החיבור עם PDO - אני יורש מPDO, אז אולי גם המחלקה המשנית - שאיתה אני עובד עם השאילתות והכול - אני צריך לרשת מPDOStatement ?
מה אתם אומרים ?

ועוד שאלה:
מה עדיף , להשתמש בquery/exec, או בprepare? אני מתכוון כשאין שימוש בp.s., כשיש שאילתה רגילה כמו " select * from test".
האם השימוש בprepare משנה במקרה כזה, או שאפשר להישאר עם הפונקציה הרגילות query/exec ?

תודהה (:

5 תשובות

avatar ענה matan sh ב 29 ליולי 2013 #

1. ה-PDO יורש כבר את ה-PDOStatement ככה שאין לך באמת מה להתעסק פה או לשבור את הראש

2. query זה הפתרון בשבילך.
exec - נועד לבצע פעולה במסד מבלי להחזיר מידע, למעט כל כמה שורות הוא השפיע.

avatar ענה משהה ב 30 ליולי 2013 #

@matan sh
חשבתי על זה, ואני דווקא חושב שאני כן צריך לרשת את המחלקה הזאת.
כי תקשיב, כשאני רוצה להשתמש בbindParam - מה אני ישתמש בזה בצורה הזאתי :

$this->instance->bindParam(x,x,x);

או יצור מתודה בתוך המחלקה שלי, שתחזיר את
$this->instance->bindParam(x,x,x);
?
לא יותר פשוט לרשת את זה? כי מטרת המחלקה שלי גם ככה היא להרחיב את האובייקט PDOStatement
--עריכה: חחח עזוב לא משנה, חשבתי על זה שוב ויצאתי מטומטם..לא נורא מזה לומדים (:

2.כן אני יודע, עם SELECT עדיף להשתמש בquery ולכל השאר בexec? כי היא היחידה שמחזירה מידע .. כל השאר מבצעות פעולות

avatar ענה matan sh ב 31 ליולי 2013 #

2. כן, למרות ש-prepare יכול להיות טוב להכל כי זה פשוט עוזר לך עם השמת המשתנים/תנאים וכו'. ממליץ לך להסתכל בדוקומנטציה כדי להבין יותר טוב בין ההבדלים

avatar ענה liorel100 ב 02 לאוגוסט 2013 #

תכין wrapper

avatar ענה משהה ב 05 לאוגוסט 2013 #

@matan sh
אחלה,הסתכלתי והבנתי את זה (:

@ liorel100
מה זה wrapper?